package com.sino.dataworks.dto;

import java.util.Date;

public class TableDetailDto {
        private Long tenantId;
        private String appGuid;
        private Long projectId;
        private Integer srcType;
        private String guid;
        private String tableGuid;
        private String tableName;
        private Long id;
        private String ownerId;
        private String tableDesc;
        private Integer hasPart;
        private Integer isVisible;
        private Integer lifeCycle;
        private Date createTime;
        private Date lastDdlTime;
        private Date lastModifyTime;
        private Boolean createIfNotExists;
        private BusinessInfo businessInfo;
        private Column[] columns;
        private Theme[] themes;
        private WriteBizName[] writeBizNames;

        // 数据日期
        private String dataDt;
        // 资料补传量
        private String docSplmtNum;
        // 分区列
        private String ds;

        // Getters and Setters

        public Long getTenantId() {
            return tenantId;
        }

        public void setTenantId(Long tenantId) {
            this.tenantId = tenantId;
        }

        public String getAppGuid() {
            return appGuid;
        }

        public void setAppGuid(String appGuid) {
            this.appGuid = appGuid;
        }

        public Long getProjectId() {
            return projectId;
        }

        public void setProjectId(Long projectId) {
            this.projectId = projectId;
        }

        public Integer getSrcType() {
            return srcType;
        }

        public void setSrcType(Integer srcType) {
            this.srcType = srcType;
        }

        public String getGuid() {
            return guid;
        }

        public void setGuid(String guid) {
            this.guid = guid;
        }

        public String getTableGuid() {
            return tableGuid;
        }

        public void setTableGuid(String tableGuid) {
            this.tableGuid = tableGuid;
        }

        public String getTableName() {
            return tableName;
        }

        public void setTableName(String tableName) {
            this.tableName = tableName;
        }

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        public String getOwnerId() {
            return ownerId;
        }

        public void setOwnerId(String ownerId) {
            this.ownerId = ownerId;
        }

        public String getTableDesc() {
            return tableDesc;
        }

        public void setTableDesc(String tableDesc) {
            this.tableDesc = tableDesc;
        }

        public Integer getHasPart() {
            return hasPart;
        }

        public void setHasPart(Integer hasPart) {
            this.hasPart = hasPart;
        }

        public Integer getIsVisible() {
            return isVisible;
        }

        public void setIsVisible(Integer isVisible) {
            this.isVisible = isVisible;
        }

        public Integer getLifeCycle() {
            return lifeCycle;
        }

        public void setLifeCycle(Integer lifeCycle) {
            this.lifeCycle = lifeCycle;
        }

        public Date getCreateTime() {
            return createTime;
        }

        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }

        public Date getLastDdlTime() {
            return lastDdlTime;
        }

        public void setLastDdlTime(Date lastDdlTime) {
            this.lastDdlTime = lastDdlTime;
        }

        public Date getLastModifyTime() {
            return lastModifyTime;
        }

        public void setLastModifyTime(Date lastModifyTime) {
            this.lastModifyTime = lastModifyTime;
        }

        public Boolean getCreateIfNotExists() {
            return createIfNotExists;
        }

        public void setCreateIfNotExists(Boolean createIfNotExists) {
            this.createIfNotExists = createIfNotExists;
        }

        public BusinessInfo getBusinessInfo() {
            return businessInfo;
        }

        public void setBusinessInfo(BusinessInfo businessInfo) {
            this.businessInfo = businessInfo;
        }

        public Column[] getColumns() {
            return columns;
        }

        public void setColumns(Column[] columns) {
            this.columns = columns;
        }

        public Theme[] getThemes() {
            return themes;
        }

        public void setThemes(Theme[] themes) {
            this.themes = themes;
        }

        public WriteBizName[] getWriteBizNames() {
            return writeBizNames;
        }

        public void setWriteBizNames(WriteBizName[] writeBizNames) {
            this.writeBizNames = writeBizNames;
        }

        public String getDataDt() {
            return dataDt;
        }

        public void setDataDt(String dataDt) {
            this.dataDt = dataDt;
        }

        public String getDocSplmtNum() {
            return docSplmtNum;
        }

        public void setDocSplmtNum(String docSplmtNum) {
            this.docSplmtNum = docSplmtNum;
        }

        public String getDs() {
            return ds;
        }

        public void setDs(String ds) {
            this.ds = ds;
        }

        // Inner classes for nested objects

        public static class BusinessInfo {
            // Add fields and methods as needed
        }

        public static class Column {
            private String appGuid;
            private String tableGuid;
            private String tableName;
            private String columnGuid;
            private String columnName;
            private String columnType;
            private Integer seqNumber;
            private Integer isPartitionCol;
            private Integer isPrimaryKey;
            private Integer isNullable;
            private String comment;

            // Getters and Setters
            public String getAppGuid() {
                return appGuid;
            }

            public void setAppGuid(String appGuid) {
                this.appGuid = appGuid;
            }

            public String getTableGuid() {
                return tableGuid;
            }

            public void setTableGuid(String tableGuid) {
                this.tableGuid = tableGuid;
            }

            public String getTableName() {
                return tableName;
            }

            public void setTableName(String tableName) {
                this.tableName = tableName;
            }

            public String getColumnGuid() {
                return columnGuid;
            }

            public void setColumnGuid(String columnGuid) {
                this.columnGuid = columnGuid;
            }

            public String getColumnName() {
                return columnName;
            }

            public void setColumnName(String columnName) {
                this.columnName = columnName;
            }

            public String getColumnType() {
                return columnType;
            }

            public void setColumnType(String columnType) {
                this.columnType = columnType;
            }

            public Integer getSeqNumber() {
                return seqNumber;
            }

            public void setSeqNumber(Integer seqNumber) {
                this.seqNumber = seqNumber;
            }

            public Integer getIsPartitionCol() {
                return isPartitionCol;
            }

            public void setIsPartitionCol(Integer isPartitionCol) {
                this.isPartitionCol = isPartitionCol;
            }

            public Integer getIsPrimaryKey() {
                return isPrimaryKey;
            }

            public void setIsPrimaryKey(Integer isPrimaryKey) {
                this.isPrimaryKey = isPrimaryKey;
            }

            public Integer getIsNullable() {
                return isNullable;
            }

            public void setIsNullable(Integer isNullable) {
                this.isNullable = isNullable;
            }

            public String getComment() {
                return comment;
            }

            public void setComment(String comment) {
                this.comment = comment;
            }
        }

        public static class Theme {
            // Add fields and methods as needed
        }

        public static class WriteBizName {
            // Add fields and methods as needed
        }

}
